#Demo3.ps1
#Mise en place d'un ColoredConsoleAppender en tant qu'appender par d?faut.
#Manipulation des Layout
.\InitializeLG4N.ps1 
[System.Collections.Hashtable[]] $ConfigColors=@(
   @{Level="Warn";FColor="Yellow";BColor=""},
   @{Level="Info";FColor="Cyan";BColor=""},
   @{Level="Debug";FColor="Green";BColor=""},
   @{Level="Error";FColor="Red";BColor=""}
 )
 
$Header="Pied de page"
 #Cr?e un appender coloris? et le transmet dans le pipeline
New-LogColoredConsoleAppender $ConfigColors|`
    #On ajoute un objet Layout ? l'appender pr?c?dement cr??
    #!!!!!!!!!
    # Le premier param?tre attendu est renseign? via le pipeleline,
    # on doit donc pr?ciser le nom du param?tre ( -L ), sinon l'affectation se fait 
    # sur le premier param?tre, ce qui provoquera des erreurs de typage. 
    #!!!!!!!!!
 Add-LogLayout -L "%date %-5level - %message%newline" -F "En-t?te de page" -H $Header|`
 Enable-LogAppender|`
   #Configure le framework avec l'appender provenant du pipeline
 Set-LogBasicConfigurator 
 
$Log = Get-LogLogger "LogPowerShell" 
$Log.Info("TestMessage1");

# !!!! On modifie le pattern d'affichage !!!!!!!!

 #Cr?e un appender coloris?, le layout est cr?e automatiquement si 
 #on renseigne le param?tre $LayoutPattern, les champs footer et header ne sont pas renseign?
New-LogColoredConsoleAppender $ConfigColors -L "%date{dd-MM-yyyy } %-5level - %message%newline"|`
 Enable-LogAppender|`
 Set-LogBasicConfigurator

$Log.Info("TestMessage2");

Stop-Log

